UpdateKnowledge module
UpdateKnowledge
Bases: Module
Update (insert or upsert) data models in the given knowledge base.
Dispatches on the input's shape:
KnowledgeGraph(is_knowledge_graph) →KnowledgeBase.update_knowledge_graph(bulk entities + relations).KnowledgeGraphswrapper (is_knowledge_graphs) →KnowledgeBase.update_knowledge_graphonce per wrapped KG (the KB has no bulk multi-graph endpoint).Entitieswrapper (is_entities) →KnowledgeBase.update_entitieswith the wrapped list (bulk nodes).Relationswrapper (is_relations) → the endpoint entities first (KnowledgeBase.update_entities; each relation carries itssubj/objin full), then the edges (KnowledgeBase.update_relations), so a relations-only payload populates the whole graph.Relation(is_relation) → same, for a single edge.Entity(is_entity) →KnowledgeBase.update_entities(single node).- Anything else →
KnowledgeBase.update(SQL row/table store); the first declared field is used as the primary key for upsert.
To pass a Python list of entities or relations rather than a wrapper
data model, tree.map_structure flattens the inputs so each item
is dispatched individually; wrap as Entities / Relations
for a single bulk round-trip instead of N per-item ones.
The output is a name-mangled clone of the input ("updated_" +
name), passed through unchanged. The KB methods' return values
(assigned ids) are ignored; use the KB directly if you need them.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
knowledge_base
|
KnowledgeBase
|
The knowledge base to update. |
None
|
name
|
str
|
Optional. The name of the module. |
None
|
description
|
str
|
Optional. The description of the module. |
None
|
trainable
|
bool
|
Whether the module's variables should be trainable. |
False
|
Source code in synalinks/src/modules/knowledge/update_knowledge.py
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 | |